Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA中是否绝对需要列注释?_Java_Jpa - Fatal编程技术网

Java JPA中是否绝对需要列注释?

Java JPA中是否绝对需要列注释?,java,jpa,Java,Jpa,我还有一个关于JPA的问题。如果我想将每个成员变量存储在数据库中,是否需要用@Column注释它?或者是否可以通过一些成员变量(在这些示例中为字段“timestamp”)将其省略,并且在每个可能的场景中,该字段将存储在数据库中: @Entity @Table(name = "usercontent") public class UserContentEntity implements Persistable<Long> { /** serialVersionUID */

我还有一个关于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
}
@实体
@表(name=“usercontent”)
公共类UserContentEntity实现持久化{
/**serialVersionUID*/
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
私人长id;
@列(name=“description”)
私有字符串内容描述;
@列(name=“name”)
私有字符串contentname;
@列(name=“bytes”)
@高球
私有字节[]contentbytes;
@纵队
私有字符串创建者;
私有日期时间戳;
//get-and-set方法
}
什么时候绝对需要使用注释@列

非常感谢
Maik

否。它不是“必要的”,除非您想覆盖默认列命名或默认数据存储列类型等,并且仅仅放置@column本身并没有任何作用

所以带注释列和不带注释@column的成员将存储在我上面的小示例中?这是对的吗?绝大多数标准java类型都是默认的“persistent”(使用@Transient来显式地不持久化它们)。但是如果我在exampe bean中有一个memeber变量:“List special=new ArrayList();”,情况会怎样呢。并且这个成员变量没有用OntToMany或其他东西注释。情况如何?什么将被持久化?那么“SpecialBean”是一个实体?如果它是一个关系,那么您必须将关系注释放在ONeToMany/OneToOne/ManyToMany(尽管一些JPA实现也可以在没有关系的情况下处理它,DataNucleus JPA不需要IIRC)。该栏仍然不需要。您能为您的答案提供参考吗?