/ / Jak automatycznie dodać kolumnę w hibernacji.hbm.xml i users.java - java, hibernacja

Jak automatycznie dodawać kolumny w plikach hibernate.hbm.xml i users.java - java, hibernate

Mam projekt Java, tworzę z hibernacji przy użyciu NetBeans ide7.4 do tej pory utworzyłem
plik users.hbm.xml i użytkownicy.plik Java, który jest oparty na tabeli w bazie danych, ale teraz dodałem więcej kolumn w tabeli użytkowników, więc powiedz mi, w jaki sposób mogę zaktualizować moją users.hbm.xml i users.java odpowiadającą mojej tabeli bazy danych, gdy zwiększę tabelę w bazie danych lub dodam trochę więcej kolumna w tabeli do zrobienia mam niewielką liczbę samouczków, ale wciąż mam problem, więc proszę rozwiązać mój problem

zanim moja tabela użytkowników ma tylko 1 kolumnę

id

a my users.java jest

package clinic.entity;
// Generated 17 Jan, 2014 4:36:15 PM by Hibernate Tools 3.6.0




public class Users  implements java.io.Serializable {


private int id;

public Users() {
}

public Users(int id) {
this.id = id;
}

public int getId() {
return this.id;
}

public void setId(int id) {
this.id = id;
}

}

i mój plik users.hbm.xml to

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 17 Jan, 2014 4:36:16 PM by Hibernate Tools 3.6.0 -->
<hibernate-mapping>
<class name="clinic.entity.Users" table="users" catalog="clinic_mgmt">
<id name="id" type="int">
<column name="id" />
<generator class="assigned" />
</id>
</class>
</hibernate-mapping>

teraz dodałem jeszcze 2 kolumny w tabeli, a następnie schemat

id|name |email

więc powiedz mi, jak automatycznie zaktualizować oba moje pliki

Odpowiedzi:

0 dla odpowiedzi № 1

Łatwiej jest robić rzeczy w przeciwnym kierunku: najpierw zaktualizuj Javę, a następnie wygeneruj schemat bazy danych (ponieważ plik xml może zawierać większość schematu).

Po dodaniu tych kolumn musisz dodać pole w pliku Java dla każdej nowej kolumny, a następnie zamapować je w pliku xml.

Na przykład, jeśli masz nową kolumnę e-mail VARCHAR (128), należy dodać pole String w klasie java, a następnie zmapować element <property> w pliku xml:

users.java:

private String email;

...

public String getEmail() {
return email;
}

public void setEmail(String newValue) {
email = newValue;
}

users.hbm.xml:

<property column="EMAIL" length="128" name="email"/>

0 dla odpowiedzi nr 2

możesz użyć do tego adnotacji pakietu javax.persistence:

    @Basic(fetch=FetchType.LAZY)
@Column(name="firstname")
private String firstname;

public String getFirstname() {
return firstname;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}