标签: hibernate-annotations

困惑:@NotNull vs @Column(nullable = false)

  1. 当它们出现在a的场/吸气器上时@Entity,它们之间有什么区别?(我通过Hibernate坚持实体).

  2. 每个人都属于哪个框架和/或规范?

  3. @NotNull位于javax.validation.constraints.在javax.validation.constraints.NotNulljavadoc中它说

    带注释的元素不能为null

    但是它没有提到元素在数据库中的表示,那么为什么我nullable=false要将约束添加到列中呢?

persistence hibernate hibernate-annotations ejb-3.0 jpa-2.0

225
推荐指数
4
解决办法
14万
查看次数

hibernate异常:org.hibernate.AnnotationException:没有为实体指定标识符:com..domain.idea.MAE_MFEView

为什么我得到这个例外?

package com.domain.idea;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.AccessType;

/**
 * object model for the view [InvestmentReturn].[vMAE_MFE]
 */
@Entity
@Table(name="vMAE_MFE", schema="InvestmentReturn")
@AccessType("field")
public class MAE_MFEView
{
    /**
     * trade property is a SuggestdTradeRecommendation object
     */
    @OneToOne(fetch = FetchType.LAZY , cascade = { CascadeType.PERSIST })
    @JoinColumn(name = "suggestedTradeRecommendationID")
    private SuggestedTradeRecommendation trade;

    /**
     * Most Adeverse Excursion value
     */
    private int MAE;

    public int getMAE()
    {
        return MAE;
    }

    /**
     * Most Favorable Excursion …
Run Code Online (Sandbox Code Playgroud)

orm hibernate jpa hibernate-annotations

186
推荐指数
6
解决办法
29万
查看次数

hibernate注释中的@UniqueConstraint和@Column(unique = true)

@UniqueConstraint@Column(unique = true)有什么区别?

例如:

@Table(
   name = "product_serial_group_mask", 
   uniqueConstraints = {@UniqueConstraint(columnNames = {"mask", "group"})}
)
Run Code Online (Sandbox Code Playgroud)

@Column(unique = true)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private ProductSerialMask mask;

@Column(unique = true)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private Group group;
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-annotations

88
推荐指数
4
解决办法
11万
查看次数

如何使用Hibernate注释标记外键约束?

我正在尝试使用Hibernate注释为我的数据库表编写模型类.

我有两个表,每个表都有一个主键User和Question.

@Entity
@Table(name="USER")
public class User
{
    @Id
    @Column(name="user_id")
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;

    @Column(name="username")
    private String username;

    // Getter and setter
}
Run Code Online (Sandbox Code Playgroud)

问题表.

@Entity
@Table(name="QUESTION")
public class Questions extends BaseEntity{

    @Id
    @Column(name="question_id")
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;

    @Column(name="question_text")
    private String question_text;

    // Getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我还有一个表UserAnswer,它有userId和questionId作为上述两个表中的外键.

但我无法找到如何在UserAnswer表中引用这些约束.

@Entity
@Table(name="UserAnswer ")
public class UserAnswer
{
    @Column(name="user_id")
    private User user;

    //@ManyToMany
    @Column(name="question_id")
    private Questions questions ;

    @Column(name="response")
    private String response;

    // Getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

java hibernate hibernate-mapping hibernate-annotations

69
推荐指数
2
解决办法
11万
查看次数

mappedBy引用未知的目标实体属性

我在注释对象中设置一对多关系时遇到问题.

我有以下内容:

@MappedSuperclass
public abstract class MappedModel
{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="id",nullable=false,unique=true)
    private Long mId;
Run Code Online (Sandbox Code Playgroud)

那么这个

@Entity
@Table(name="customer")
public class Customer extends MappedModel implements Serializable
{

    /**
   * 
   */
  private static final long serialVersionUID = -2543425088717298236L;


  /** The collection of stores. */
    @OneToMany(mappedBy = "customer", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  private Collection<Store> stores;
Run Code Online (Sandbox Code Playgroud)

还有这个

@Entity
@Table(name="store")
public class Store extends MappedModel implements Serializable
{

    /**
   * 
   */
  private static final long serialVersionUID = -9017650847571487336L;

  /** many stores have a single …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate hibernate-annotations

64
推荐指数
2
解决办法
9万
查看次数

有人可以在hibernate中解释我@MapsId吗?

有人可以在hibernate中解释我@MapsId吗?我很难理解它.

如果能用一个例子解释它并且在什么样的用例中它最适用呢?

java annotations hibernate jpa hibernate-annotations

60
推荐指数
5
解决办法
4万
查看次数

Hibernate递归与同一实体的多对多关联

另一个Hibernate问题......:P

使用Hibernate的Annotations框架,我有一个User实体.每个人都User可以拥有一群朋友:其他人User的集合.但是,我还没有弄清楚如何在UserUsers 列表组成的类中创建多对多关联(使用用户朋友中间表).

这是User类及其注释:

@Entity
@Table(name="tbl_users")
public class User {

    @Id
    @GeneratedValue
    @Column(name="uid")
    private Integer uid;

    ...

    @ManyToMany(
            cascade={CascadeType.PERSIST, CascadeType.MERGE},
            targetEntity=org.beans.User.class
    )
    @JoinTable(
            name="tbl_friends",
            joinColumns=@JoinColumn(name="personId"),
            inverseJoinColumns=@JoinColumn(name="friendId")
    )
    private List<User> friends;
}
Run Code Online (Sandbox Code Playgroud)

用户朋友的映射表只有两列,这两者都是外键到uid该列tbl_users表.这两列是personId(应该映射到当前用户)和friendId(指定当前用户的朋友的id).

问题是,即使我已经预先填充了朋友表,使得系统中的所有用户都是所有其他用户的朋友,"朋友"字段仍会显示为空.我甚至尝试过切换关系@OneToMany,但它仍然是null(尽管Hibernate调试输出显示了一个SELECT * FROM tbl_friends WHERE personId = ? AND friendId = ?查询,但没有别的).

有关如何填充此列表的任何想法?谢谢!

java entity-relationship hibernate java-ee hibernate-annotations

45
推荐指数
2
解决办法
3万
查看次数

Hibernate映射包

我正在使用Hibernate Annotations.

在我的所有模型类中,我都这样注释:

@Entity
@Table
public class SomeModelClass {
//
}
Run Code Online (Sandbox Code Playgroud)

我的hibernate.cfg.xml是

<hibernate-configuration>
   <session-factory>
      <!-- some properties -->

      <mapping package="com.fooPackage" />
      <mapping class="com.fooPackage.SomeModelClass" />
    </session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

对于我添加到com.fooPackage的每个类,我必须在hibernate.cfg.xml中添加一行,如下所示:

<mapping class="com.fooPackage.AnotherModelClass" />
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以添加新的模型类,但不需要将此行添加到hibernate.cfg.xml?

java hibernate hibernate-annotations

39
推荐指数
3
解决办法
5万
查看次数

Hibernate:在我的类中添加一个未映射到db-table的属性

我有一个表tbl_sky有2个属性namemodel我会使用Hibernate注释等;

@Entity
@Table(name="tbl_sky")
public class Sky implements Serializable {
    private String name;
    private String model;
    private String status;

    @Id
    public String getName() {
        return name;
    }
.
.
.
Run Code Online (Sandbox Code Playgroud)

但是我需要添加一个status在表中不存在但在类中需要的属性.我如何声明该属性,以便我在我的类中但不在我的db-table中?

所有帮助表示赞赏.

java annotations hibernate hibernate-annotations

39
推荐指数
3
解决办法
3万
查看次数

org.hibernate.MappingException:无法确定类型:java.util.Set,在表:USERS,对于列:[org.hibernate.mapping.Column(invoices)]

我有一个问题,Hibernate无法确定表USERS的Set类型.我试图通过一对多关系创建表INVOICES的外键.一个用户可以生成许多发票.我的User.java如下所示.

@Entity
@Table(name="USERS")
public class User {

    @Id
    @Column(name="User_Id",nullable=false)
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer user_id;


    @Column(name="NAME")
    private String name;

    @Column(name="Address")
    private String address;

    @Column(name="Designation")
    private String designation;


    private Set<Invoice> invoices;

    /*@OneToMany
    @JoinColumn(name="Rec_Invoice_ID", nullable=false)
    private Set<RecurringInvoice> recurring_invoices;*/
Run Code Online (Sandbox Code Playgroud)

我试图在USERS表中使用INVOICE-ID作为外键.我遵循这里给出的指令 Hibernate:Annotation one-to-many(foreign-key)

    @OneToMany
    @JoinColumn(name="INVOICE_ID", nullable=false)
    public Set<Invoice> getInvoices() {
        return invoices;
    }

    public void setInvoices(Set<Invoice> invoices) {
        this.invoices = invoices;
    }

/*   public Set<RecurringInvoice> getRecurring_invoices() {
        return recurring_invoices;
    }

    public void setRecurring_invoices(Set<RecurringInvoice> recurring_invoices) {
        this.recurring_invoices = recurring_invoices;
    }
*/
    // Getters and Setters
    public Integer …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa hibernate-mapping hibernate-annotations

31
推荐指数
1
解决办法
5万
查看次数