我还有一个关于JPA的问题。如果我想将每个成员变量存储在数据库中,是否有必要用@column对其进行注释?或者可以通过一些成员变量(在这些示例中,字段“timestamp”)省略它,并且在每个可能的场景中,该字段将存储在数据库中:
@Entity
@Table(name = "usercontent")
public class UserContentEntity implements Persistable<Long> {
/** serialVersionUID */
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "description")
private String contentdescription;
@Column(name = "name")
private String contentname;
@Column(name = "bytes")
@Lob
private byte[] contentbytes;
@Column
private String creator;
private Date timestamp;
// get- and set methods
}
当绝对有必要使用注释@column时呢?
非常感谢Maik
不,它不是“必要的”,除非您想要覆盖默认的列命名,或默认的数据存储列类型等,而仅仅放置@column并不是这样做的
对于不改变实例状态的函数,方法的javadoc注释通常与Java-API中@return-tag的注释相同或非常相似。 boolean Collection.IsEmpty() 如果此集合不包含元素,则返回true。 如果此集合不包含元素,则返回:true 现在我正在为许多简单的方法编写javadoc,比如getExpression(),在这些方法中我遇到了同样的问题。我应该像在API中那样做还是
问题内容: 我试图 忽略 了注释,并且仍然领域已经嵌入在表中。我找不到任何能说明注解是可选的内容。 是 还是 不是 可选的? 以下代码 生成始终相同的表 即使我 没有 指定。 我的配置: JBoss EAP 6.4.0 hibernate-jpa-2.0-api-1.0.1.Final-redhat-3.jar JPA规范说: http://docs.oracle.com/javaee/7/api
我尝试省略注释,但这些字段仍然被嵌入到表中。我找不到任何东西表明注释是可选的。 我的配置: JBoss EAP 6.4.0 hibernate-jpa-2.0-api-1.0.1.final-redhat-3.jar JPA规范规定: 指定一个类,其实例存储为所属实体的固有部分,并共享该实体的标识。嵌入对象的每个持久属性或字段都映射到实体的数据库表。
问题内容: 我应何时在JPA中使用注释?此注释可以注释哪些数据类型? 问题答案: 表示带注释的字段在数据库中应表示为BLOB(二进制数据)。 您可以使用此注释来注释任何数据类型。在JPA中,持久(检索)后,将使用标准Java序列化对字段内容进行序列化(反序列化)。 的常用用法是在Entity内部注释一个字段,以存储一些未映射到DB列的对象属性。这样,所有未映射的值都可以以binarry表示形式存储
问题内容: 使用这些批注的重点是要独立于数据库提供程序,而不是重新生成JAR存档。 如果我坚持不懈,那么我首先看不到使用hibernate的意义。如果确实决定切换到其他数据库提供程序,则必须修改类中的注释,然后重新编译应用程序。 问题答案: @Table 批注:@Table批注允许您指定用于将实体保留在数据库中的表的详细信息。 @Table批注提供了四个属性,使您可以覆盖表的名称,目录和架构,并对
我正在开发一个使用 JPA 和Hibernate的项目,我刚刚注意到实体没有任何关系注释,例如@ManyToOne、@OneToOne等。所以我的问题是,JPA / Hibernate是否为每个案例添加了默认注释? 这里有一个例子 JPA是否默认在此属性中添加@OneTo的注释?