Skip to content

Commit 9998e22

Browse files
committed
Merge branch 'batch-insert-using-stateless-session' of https://github.com/igitur/nhibernate-core into igitur-batch-insert-using-stateless-session
2 parents 8fad395 + 3c3b8cf commit 9998e22

File tree

4 files changed

+107
-0
lines changed

4 files changed

+107
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
using NHibernate.Criterion;
5+
using NUnit.Framework;
6+
using System.Collections;
7+
namespace NHibernate.Test.NHSpecificTest.NH2241
8+
{
9+
[TestFixture]
10+
public class Fixture : BugTestCase
11+
{
12+
protected override void OnSetUp()
13+
{
14+
using (var session = OpenSession())
15+
{
16+
using (var tran = session.BeginTransaction())
17+
{
18+
var country = new Country() { CountryCode = "SE", CountryName = "Sweden" };
19+
session.Save(country);
20+
tran.Commit();
21+
}
22+
}
23+
}
24+
protected override void OnTearDown()
25+
{
26+
using (var session = OpenSession())
27+
using (var tran = session.BeginTransaction())
28+
{
29+
session.Delete("from Country");
30+
session.Delete("from User");
31+
tran.Commit();
32+
}
33+
}
34+
35+
[Test]
36+
public void CanInsertUsingStatelessEvenWhenAssociatedEntityHasCacheStategy()
37+
{
38+
using (var ss = Sfi.OpenStatelessSession())
39+
{
40+
using (var tx = ss.BeginTransaction())
41+
{
42+
var user = new User();
43+
user.Country = new Country() { CountryCode = "SE", CountryName = "Sweden" };
44+
45+
ss.Insert(user);
46+
tx.Commit();
47+
}
48+
49+
}
50+
}
51+
}
52+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
3+
assembly="NHibernate.Test"
4+
namespace="NHibernate.Test.NHSpecificTest.NH2241">
5+
6+
<class name="User" table="Users">
7+
<id name="Id">
8+
<generator class="native"/>
9+
</id>
10+
11+
<many-to-one name="Country" column="CountryCode" cascade="none" />
12+
</class>
13+
14+
<class name="Country">
15+
<cache region="ShortTerm" usage="read-write" />
16+
17+
<id name="CountryCode">
18+
<generator class="assigned"/>
19+
</id>
20+
21+
<property name="CountryName" />
22+
23+
</class>
24+
25+
</hibernate-mapping>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using System;
2+
3+
namespace NHibernate.Test.NHSpecificTest.NH2241
4+
{
5+
public class User
6+
{
7+
public virtual int Id { get; set; }
8+
9+
public virtual Country Country { get; set; }
10+
}
11+
12+
public class Country
13+
{
14+
public virtual string CountryCode
15+
{
16+
get;
17+
set;
18+
}
19+
20+
public virtual string CountryName
21+
{
22+
get;
23+
set;
24+
}
25+
26+
}
27+
}

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,8 @@
760760
<Compile Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\Fixture.cs" />
761761
<Compile Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\FooExample.cs" />
762762
<Compile Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\IExample.cs" />
763+
<Compile Include="NHSpecificTest\NH2241\Fixture.cs" />
764+
<Compile Include="NHSpecificTest\NH2241\Model.cs" />
763765
<Compile Include="Insertordering\NH3931Entities.cs" />
764766
<Compile Include="NHSpecificTest\NH4004\Entity.cs" />
765767
<Compile Include="NHSpecificTest\NH4004\Fixture.cs" />
@@ -3284,6 +3286,7 @@
32843286
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
32853287
</ItemGroup>
32863288
<ItemGroup>
3289+
<EmbeddedResource Include="NHSpecificTest\NH2241\Mappings.hbm.xml" />
32873290
<EmbeddedResource Include="Futures\Mappings.hbm.xml" />
32883291
<EmbeddedResource Include="SessionBuilder\Mappings.hbm.xml" />
32893292
<EmbeddedResource Include="IdTest\IdentityClass.hbm.xml" />

0 commit comments

Comments
 (0)