Ich arbeite an Hibernate-Projekt, das die folgenden drei Entität haben, wenn ich eine Beziehung zwischen den Entitäten GetOnName hinzufügen Feld 'user_id' hat keinen Standardwert.Hibernate Feld 'user_id' hat keinen Standardwert
, wenn versuchen, neue Themen, die ich
erhalten einfügenHibernate:? (?,?,?,) Einfügen in Themen (Inhalt, Datum, Bild, image_name) Werte 8. Mai 2016 11.46.56 PM org.hibernate.util.JDBCExceptionReporter logExceptions Warnung: SQL-Fehler: 1364, SQLState: HY000 08. Mai 2016 11:46:56 PM org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: Feld 'user_id' hat nicht ein Standardwert
und erhalten Sie den gleichen Fehler, wenn Sie versuchen, neue wie Datensatz
einfügenBenutzerklasse
public class User implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_id", unique = true, nullable = false)
private long id;
@Column(name = "first_name", nullable = false, length = 10)
private String firstName;
@Column(name = "last_name", nullable = false, length = 10)
private String lastName;
@Column(name = "role", nullable = false, length = 10)
private String role;
@Column(name = "email", unique = true, nullable = false, length = 10)
private String email;
@Column(name = "password", nullable = false, length = 10)
private String password;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
private Set<Topics> topics=new HashSet<Topics>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user1")
private Set<Like> likes=new HashSet<Like>();
//getter and setter
wie Klasse
@Entity
@Table(name = "likes")
public class Like implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "likes_id", unique = true, nullable = false)
private long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false,insertable = false, updatable = false)
private User user1;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "topics_id", nullable = false,insertable = false, updatable = false)
private Topics topics;
//getter and setter
Themen Klasse
@Entity
@Table(name = "topics")
public class Topics implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "topics_id", unique = true, nullable = false)
private long id;
@Column(name = "content", unique = true, nullable = false)
private String content;
@Temporal(TemporalType.DATE)
@Column(name = "date")
private Date date;
@Column(name = "image_name")
private String imageName;
@Lob
@Column(name="image", columnDefinition="longblob")
private byte[] image;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false,insertable = false, updatable = false)
private User user;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "topics")
private Set<Like> likes=new HashSet<Like>();
//getter and setter
Hibernate Konfigurationsdatei
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/social</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping class="com.pro.model.User"></mapping>
<mapping class="com.pro.model.Topics"></mapping>
<mapping class="com.pro.model.Like"></mapping>
</session-factory>