sir...i am new for hibernate...i make two files names as Login.hmb.xml and Fees.hbm.xml....and i had created two table in postgresDB names as login and fees.
Login.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping auto-import="true" default-lazy="false">
<class
name="dream.dao.hibernate.Login"
table="login"
>
<id
name="id"
type="java.lang.Integer"
column="id"
>
<generator class="increment" />
</id>
<property
name="loginid"
type="java.lang.String"
column="loginid"
not-null="true"
unique="true"
length="20"
/>
<property
name="password"
type="java.lang.String"
column="password"
not-null="true"
length="20"
/>
<property
name="email"
type="java.lang.String"
column="email"
not-null="false"
length="30"
/>
<property
name="address"
type="java.lang.String"
column="address"
not-null="false"
length="60"
/>
<property
name="phno"
type="int"
column="phno"
not-null="false"
length="11"
/>
</class>
</hibernate-mapping>
Login.java
package dream.dao.hibernate;
import java.io.Serializable;
public class Login implements Serializable {
/** identifier field */
private Integer id;
/** persistent field */
private
String loginid;
/** persistent field */
private String password;
/** persistent field */
private String email;
/** persistent field */
private String address;
/** persistent field */
private int phno;
/** full constructor */
public Login(Integer id, String loginid, String password, String email, String address, int phno) {
this.id = id;
this.loginid = loginid;
this.password = password;
this.address = address;
this.phno = phno;
this.email = email;
}
/** default constructor */
public Login() {
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLoginid() {
return this.loginid;
}
public void setLoginid(String loginid) {
this.loginid = loginid;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getPhno() {
return phno;
}
public void setPhno(int phno) {
this.phno = phno;
}
}
fees.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping auto-import="true" default-lazy="false">
<class
name="dream.dao.hibernate.Fees"
table="fees"
>
<id
name="id"
type="java.lang.Integer"
column="id"
>
<generator class="increment" />
</id>
<property
name="loginid"
type="java.lang.String"
column="loginid"
not-null="true"
unique="true"
length="20"
/>
<property
name="amount"
type="java.lang.Integer"
>
<column name="amount" sql-type="integer" not-null="true" length="11"></column>
</property>
</class>
</hibernate-mapping>
Fees.java
package dream.dao.hibernate;
import java.io.Serializable;
public class Fees implements Serializable {
/** identifier field */
private Integer id;
/** persistent field */
private String loginid;
/** persistent field */
private Integer amount;
/** full constructor */
public Fees(Integer id, String loginid, Integer amount) {
this.id = id;
this.loginid = loginid;
this.amount = amount;
}
/** default constructor */
public Fees() {
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLoginid() {
return this.loginid;
}
public void setLoginid(String loginid) {
this.loginid = loginid;
}
public Integer getAmount() {
return this.amount;
}
public void setAmount(Integer amount) {
this.amount = amount;
}
}
Tabels login and fees
CREATE TABLE "login"
(
id integer NOT NULL,
loginid character varying(20) NOT NULL,
"password" character varying(20) NOT NULL,
email character varying(30),
address character varying(60),
phno integer DEFAULT 0,
CONSTRAINT primary_id PRIMARY KEY (id),
CONSTRAINT unique_loginid UNIQUE (loginid)
)
WITH (
OIDS=FALSE
);
ALTER TABLE "login" OWNER TO postgres;
CREATE TABLE fees
(
id integer NOT NULL,
loginid character varying(20) NOT NULL,
amount integer NOT NULL,
CONSTRAINT pk_sal PRIMARY KEY (id),
CONSTRAINT fk_sal FOREIGN KEY (loginid)
REFERENCES "login" (loginid) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (
OIDS=FALSE
);
ALTER TABLE fees OWNER TO postgres;
Now my problem is that..when i am giving correct data they everything is fine but when i given wrong data also its inserting data fine without error...ex:--in my fees.hbm.xml and fees table the datatype of 'amount' column is integer.whenever i am giving char type value it also accept it and store it without throwing error..so how to fix this issue ..thanks in advance..please do needhul...