2017-01-24 8 views
0

я следующая таблицаHibernate не создает новую таблицу

@JsonIgnoreProperties(ignoreUnknown = true) 
@Entity 
@Table(name = "School") 


@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) 
public class School implements Serializable, Comparable<School>{ 

    private static final long serialVersionUID = 1L; 


    @JsonProperty 
@JsonProperty 
@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
long id; 

} 

Вот файл YAML, который устанавливает спящий режим конфигурации, чтобы создать новый datbase

charSet: UTF-8 
    hibernate.dialect: org.hibernate.dialect.MySQLDialect 
    hibernate.hbm2ddl.auto: create 
    hibernate.show_sql: true 

Я прочитал много вопросов адресации подобный вопрос, но я не см., почему эта таблица будет проигнорирована с помощью hibernate

При тестировании различных решений кажется, что обновляется или воссоздается только две таблицы arent. Может ли это быть из-за ассоциации между ними?

Вот это второй класс, связанный с ним

@Entity 
@Table(name = "Student") 
@SecondaryTable(name = "thirdTable", [email protected](name="thirdtablepk_id", referencedColumnName="id")) 


@JsonIgnoreProperties(ignoreUnknown = true) 
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) 


public class Student implements Comparable<Student>, Serializable { 

    private static final long serialVersionUID = 1L; 
    @JsonProperty 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    long id; 

    @ManyToOne 
    School school; 
} 
+0

'@Table (name =" Scool ")' vs '@Table (name =" School ")'? – zloster

+0

хороший улов, здесь была опечатка. Не в моем действительном коде :( –

+0

Зачем использовать специфическое свойство DDL для Hibernate, когда есть стандартное свойство JPA javax.persistence.XXX имена, которые вы могли бы использовать? –

ответ

0

Я предполагаю, так как вы использовали

hibernate.hbm2ddl.auto: создать

После того как таблица создана она выиграла снова создадим. Чтобы отбросить и создать время таблицы eevry, вам нужно использовать конфигурацию belwo.

hibernate.hbm2ddl.auto: создать падение

Надеется, что это решает ваши сомнения.

+0

Я тоже пробовал это. Я почти уверен, что что-то в классах, которые делают hibernate игнорировать его –

+0

Он только не работает для этой таблицы и еще одна таблица , никакие изменения в схеме не отражаются. Считаете ли вы, что это связано с ассоциацией между этими двумя таблицами? Я отредактировал вопрос с подробностями –

+0

Я вижу код, который вы должны добавить @OnetoMa но и в школьном образовании. – Ankit