当它们出现在a的场/吸气器上时@Entity,它们之间有什么区别?(我通过Hibernate坚持实体).
每个人都属于哪个框架和/或规范?
@NotNull位于javax.validation.constraints.在javax.validation.constraints.NotNulljavadoc中它说
带注释的元素不能为null
但是它没有提到元素在数据库中的表示,那么为什么我nullable=false要将约束添加到列中呢?
为什么我得到这个例外?
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) @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) 我正在尝试使用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)
我怎样才能做到这一点?
我在注释对象中设置一对多关系时遇到问题.
我有以下内容:
@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) 有人可以在hibernate中解释我@MapsId吗?我很难理解它.
如果能用一个例子解释它并且在什么样的用例中它最适用呢?
另一个Hibernate问题......:P
使用Hibernate的Annotations框架,我有一个User实体.每个人都User可以拥有一群朋友:其他人User的集合.但是,我还没有弄清楚如何在User由Users 列表组成的类中创建多对多关联(使用用户朋友中间表).
这是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
我正在使用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?
我有一个表tbl_sky有2个属性name和model我会使用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中?
所有帮助表示赞赏.
我有一个问题,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 ×10
java ×7
jpa ×3
annotations ×2
orm ×2
ejb-3.0 ×1
java-ee ×1
jpa-2.0 ×1
persistence ×1