hibernate oracle primary key auto increment

214 views
Skip to first unread message

enxtur

unread,
Jul 20, 2010, 12:13:46 AM7/20/10
to USI Developers Network
Би hibernate ашиглан oracle primary key auto increment field-тэй table-
руу өгөгдөл оруулах гэсэн юм. Гэтэл exception үүсээд болдоггүй ээ.
Туслаач.

тable, sequence, trigger-үүдээ үүсгэсэн байдал:

create table test (id number, testdata varchar2(255));

create sequence test_seq start with 1 increment by 1 nomaxvalue;

create trigger test_trigger
before insert on test
for each row
begin
select test_seq.nextval into :new.id from dual;
end;

hibernate дээрээ тохируулсан байдал:

@Id
@Column(name = "id",columnDefinition="integer default
nextval('test_sequence')")
@SequenceGenerator(name="SEQ_STORE",sequenceName="test_sequence")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_STORE")
Integer id;

java дээрээ:

SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.getCurrentSession();
Transaction transaction = session.beginTransaction();

Employee employee = new Employee()
employee.setTestData()

session.save(employee);
transaction.commit();

Ингэсэн чинь:

org.hibernate.exception.SQLGrammarException: could not get next
sequence value

org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:
67)

org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:
43)
........................................................................................................................................


root cause

java.sql.SQLException: ORA-02289: sequence does not exist

oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:
111)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:744)
........................................................................................................................................

ийм эксэпшн үүслээ. Дутуу орхисон зүйл байвал хэлж өгөөч

Хүндэтгэсэн Э.Энхтөр

Ankhbayar Lhagvadorj

unread,
Jul 20, 2010, 12:19:38 AM7/20/10
to dn-...@googlegroups.com
test_sequence чинь үүсээгүй байгаа юм шиг байхын. 
Oracle дээр чинь.
Чи хаа нэгтэй энэ sequence үүсгэх алхамыг нь орхисон болтой байна. 


--
You received this message because you are subscribed to the Google
Groups "USI Developers Network" group. Web site : http://dn.usi.mn
To post to this group, send email to dn-...@googlegroups.com
To unsubscribe from this group, send email to
dn-usi+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/dn-usi?hl=en



--
Хүндэтгэсэн Анхбаяр
Message has been deleted

Ernar

unread,
Jul 20, 2010, 2:02:57 AM7/20/10
to dn-...@googlegroups.com
Sain baina uu,

Hibernate mapping file deer

<id name="bankactivityPk" type="java.lang.Long">
<column name="BANKACTIVITY_PK" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">bankactivities_seq</param>
</generator>
</id>

gej zaaj ogno.

Yoslov,
Ernar

On Tue, Jul 20, 2010 at 1:24 PM, enxtur enxbat <enxtu...@gmail.com> wrote:
> test_sequence нь үүссэн юм шиг байгаан.
> insert into test(testdata) values("test"); гэсэн query явуулахад болоод
> байгаамдаа.
> oracle дээрээ биш hibernate дээрээ sequence, эсвэл trigger үүсгэдэг юм болов
> уу?

enxtur enxbat

unread,
Jul 20, 2010, 2:55:15 AM7/20/10
to dn-...@googlegroups.com
Уучлаарай миний өөрийн алдаа байжээ.

Хүндэтгэсэн Энхтөр

Ankhbayar Lhagvadorj

unread,
Jul 20, 2010, 2:57:38 AM7/20/10
to dn-...@googlegroups.com
За ямар алдаа байсан байна. 
Сайхан тайлбарлаад бичээрэй. 

On Tue, Jul 20, 2010 at 2:55 PM, enxtur enxbat <enxtu...@gmail.com> wrote:
Уучлаарай миний өөрийн алдаа байжээ.

Хүндэтгэсэн Энхтөр

--
You received this message because you are subscribed to the Google
Groups "USI Developers Network" group. Web site : http://dn.usi.mn
To post to this group, send email to dn-...@googlegroups.com
To unsubscribe from this group, send email to
dn-usi+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/dn-usi?hl=en



--
Хүндэтгэсэн Анхбаяр

enxtur enxbat

unread,
Jul 20, 2010, 3:21:37 AM7/20/10
to dn-...@googlegroups.com
Хэ Хэ, sequence-ийн нэрийг serializeable класс дээрээ буруу тодорхойлжээ.


>create sequence test_seq start with 1 increment by 1 nomaxvalue;

>@SequenceGenerator(name="SEQ_STORE",sequenceName="test_sequence")

Тэгээд л sequence олдохгүй байна гэсэн эксэпшн үүсээд байж л дээ. Шал дэмий цагийг чинь үрсэндээ хүлцэл өчье.

Хүндэтгэсэн Энхтөр.

A.Erdenee

unread,
Jul 22, 2010, 5:30:33 AM7/22/10
to dn-...@googlegroups.com
hi all
neg zuil asuuh gesen yum FCK editor-n zam ni .htaccess heregleheer zorood FCK editor ni ajillahgui bolchih yum medeh zuil, turshlagaasaa heleech
Yaj zamiig zov zaalgah ve?

batbayar jamiyan

unread,
Jul 25, 2010, 11:12:13 PM7/25/10
to dn-...@googlegroups.com
Hi,
Oilgomjgui asuult bn!

--
You received this message because you are subscribed to the Google
Groups "USI Developers Network" group. Web site : http://dn.usi.mn
To post to this group, send email to dn-...@googlegroups.com
To unsubscribe from this group, send email to
dn-usi+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/dn-usi?hl=en



--
Regards,
Batbayar.J
HDM
Reply all
Reply to author
Forward
0 new messages