2012-09-03

Hibernate持久化Enum的问题

我用Hitbernate持久化Enum时。使用@Enumerated(EnumType.ORDINAL),一直没有问题。有一次,一样这样使用的时候结果抱错误 xxx.xxxx.Xxxx.0 找不到。我是用ORDINAL啊,怎么会把0做为名称了呢。找了很久错误,看了一下Hibernate的EnumType源代码。原来在nullSafeGet中

Hibernate并不是根据@Enumerated(EnumType.ORDINAL)注释去生成Enum,而是根据数据库中字段的类型去生成Enum。由于数据库中错误的把类型建成了varchar。所以Hibernate自然的就用0做为了Enum的名称去生成。修改数据库中字段类型后,错误就没有了。

2012-01-28

Spring security在glasshfish中的设置

在glasshfish中部署appfuse框架的程序,因为appfuse使用spring security框架,不能正常使用,看
http://stackoverflow.com/questions/7579385/spring-security-doesnt-work-on-glassfish-v3
问题中的说明,是因为".../glassfish/domains/domain1/config/default-web.xml"文件中的配置问题
<login-config>
    <auth-method>BASIC</auth-method>
</login-config>
注释后就好了。