Ant*_*val 6 java serialization persistence hibernate jpa
我想避免序列化(在JMS/AMF中),但仍然使用JPA/Hibernate保持字段.
是transient
修改我的朋友?@Transient
注释和transient
修饰符是否相关?
java规范精确地指出,瞬态字段不会被系统服务保存到持久存储中.但是hibernate是一个系统服务吗?(我不这么认为) http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#78119
并且java.io.Serialisable
接缝表明a out.writeObject
and in.readObject
要求序列化
http://download.oracle.com/javase/1.4.2/docs/api/java/io/Serializable.html
任何见解?
也许我应该写一个快速测试,但我会对一个规范更有信心.
谢谢 !
是
transient
修改我的朋友?@Transient
注释和transient
修饰符是否相关?
它们并没有真正相关,但我担心它们不会成为你的朋友,transient
Hibernate/JPA不会保留属性.JPA规范如下:
2.1.1持久字段和属性
持久性提供程序运行时通过JavaBeans样式属性访问器或实例变量访问实体的持久状态.单一访问类型(字段或属性访问)适用于实体层次结构.使用注释时,映射注释在实体类的持久字段或持久属性上的放置将访问类型分别指定为基于字段或基于属性的访问.
- 如果实体具有基于字段的访问权限,则持久性提供程序运行时直接访问实例变量. 未注释注释的所有非
transient
实例变量Transient
都是持久的.使用基于字段的访问时,实体类的对象/关系映射注释会注释实例变量.- 如果实体具有基于属性的访问权限,则持久性提供程序运行时通过属性访问器方法访问持久状态.未注释注释的所有属性
Transient
都是持久的.属性访问器方法必须是公共的或受保护的.使用基于属性的访问时,实体类的对象/关系映射注释会为getter属性访问器添加注释.- 映射注释不能应用于那些字段或属性
transient
或Transient
.- 如果将映射注释应用于持久字段和属性,或者XML描述符指定在类层次结构中使用不同的访问类型,则行为未指定.
...
归档时间: |
|
查看次数: |
3292 次 |
最近记录: |