`

Compass2.0.2版本自带例子分析

阅读更多
下面的代码来自compass自带的例子,我稍微改造了一下。

代码如下:

Author.java

   1. package com.tutorial;
   2.
   3. import java.util.ArrayList;
   4. import java.util.Date;
   5. import java.util.List;
   6.
   7. public class Author implements Identifiable {
   8.
   9.     private Long id;
  10.     private Name name;
  11.     private Date birthdate;
  12.     private String[] keywords;
  13.     private List<Book> books = new ArrayList<Book>();
  14.
  15.     public Author() {
  16.     }
  17.
  18.     public Date getBirthdate() {
  19.         return birthdate;
  20.     }
  21.
  22.     public void setBirthdate(Date birthdate) {
  23.         this.birthdate = birthdate;
  24.     }
  25.
  26.     public List<Book> getBooks() {
  27.         return books;
  28.     }
  29.
  30.     public void setBooks(List<Book> books) {
  31.         this.books = books;
  32.     }
  33.
  34.     public void addBook(Book book) {
  35.         books.add(book);
  36.     }
  37.
  38.     public Long getId() {
  39.         return id;
  40.     }
  41.
  42.     public void setId(Long id) {
  43.         this.id = id;
  44.     }
  45.
  46.     public Name getName() {
  47.         return name;
  48.     }
  49.
  50.     public void setName(Name name) {
  51.         this.name = name;
  52.     }
  53.
  54.     public String[] getKeywords() {
  55.         return keywords;
  56.     }
  57.
  58.     public void setKeywords(String[] keywords) {
  59.         this.keywords = keywords;
  60.     }
  61.
  62.     public String toString() {
  63.         return name.toString();
  64.     }
  65. }

Book.java

   1. package com.tutorial;
   2.
   3. import java.util.Date;
   4.
   5. public class Book implements Identifiable {
   6.
   7.     private Long id;
   8.     private String title;
   9.     private Date publishDate;
  10.     private String[] keywords;
  11.     private String summary;
  12.
  13.     public Book() {
  14.     }
  15.
  16.     public Book(String title, Date publishDate, String summary, String[] keywords) {
  17.         this.title = title;
  18.         this.publishDate = publishDate;
  19.         this.summary = summary;
  20.         this.keywords = keywords;
  21.     }
  22.
  23.     public String[] getKeywords() {
  24.         return keywords;
  25.     }
  26.
  27.     public void setKeywords(String[] keywords) {
  28.         this.keywords = keywords;
  29.     }
  30.
  31.     public Date getPublishDate() {
  32.         return publishDate;
  33.     }
  34.
  35.     public void setPublishDate(Date publishDate) {
  36.         this.publishDate = publishDate;
  37.     }
  38.
  39.     public String getSummary() {
  40.         return summary;
  41.     }
  42.
  43.     public void setSummary(String summary) {
  44.         this.summary = summary;
  45.     }
  46.
  47.     public String getTitle() {
  48.         return title;
  49.     }
  50.
  51.     public void setTitle(String title) {
  52.         this.title = title;
  53.     }
  54.
  55.     public Long getId() {
  56.         return id;
  57.     }
  58.
  59.     public void setId(Long id) {
  60.         this.id = id;
  61.     }
  62.
  63.     public String toString() {
  64.         return title;
  65.     }
  66. }

Identifiable.java

   1. package com.tutorial;
   2.
   3. public interface Identifiable {
   4.
   5.     Long getId();
   6. }

Name.java

   1. package com.tutorial;
   2.
   3. public class Name {
   4.
   5.     private String title;
   6.     private String firstName;
   7.     private String lastName;
   8.
   9.     public Name() {
  10.     }
  11.
  12.     public Name(String title, String firstName, String lastName) {
  13.         this.title = title;
  14.         this.firstName = firstName;
  15.         this.lastName = lastName;
  16.     }
  17.
  18.     public String getFirstName() {
  19.         return firstName;
  20.     }
  21.
  22.     public void setFirstName(String firstName) {
  23.         this.firstName = firstName;
  24.     }
  25.
  26.     public String getLastName() {
  27.         return lastName;
  28.     }
  29.
  30.     public void setLastName(String lastName) {
  31.         this.lastName = lastName;
  32.     }
  33.
  34.     public String getTitle() {
  35.         return title;
  36.     }
  37.
  38.     public void setTitle(String title) {
  39.         this.title = title;
  40.     }
  41.
  42.     public boolean equals(Object other) {
  43.        
  44.         if (this == other) {
  45.             return true;
  46.         }
  47.
  48.         if (!(other instanceof Name)) {
  49.             return false;
  50.         }
  51.
  52.         Name otherName = (Name) other;
  53.         if (title != null) {
  54.             if (!title.equals(otherName.getTitle())) {
  55.                 return false;
  56.             }
  57.         }
  58.         if (firstName != null) {
  59.             if (!firstName.equals(otherName.getFirstName())) {
  60.                 return false;
  61.             }
  62.         }
  63.         if (lastName != null) {
  64.             if (!lastName.equals(otherName.getLastName())) {
  65.                 return false;
  66.             }
  67.         }
  68.         return true;
  69.     }
  70.
  71.     public int hashCode() {
  72.         int hash = 1;
  73.         hash = hash * 31 + title == null ? 0 : title.hashCode();
  74.         hash = hash * 31 + firstName == null ? 0 : firstName.hashCode();
  75.         hash = hash * 31 + lastName == null ? 0 : lastName.hashCode();
  76.         return hash;
  77.     }
  78.
  79.     public String toString() {
  80.         return title + " " + " " + firstName + " " + lastName;
  81.     }
  82. }

Library.java

   1. package com.tutorial;
   2.
   3. public final class Library {
   4.
   5.     public static final class Group {
   6.         public static final String Id = "library";
   7.         public static final String DispayName = "Library Meta Data";
   8.         public static final String Uri = "http://compass/toturial";
   9.     }
  10.
  11.     public static final class Alias {
  12.
  13.         public static final class Book {
  14.             public static final String Id = "book";
  15.             public static final String Name = "book";
  16.             public static final String DisplayName = "Book";
  17.             public static final String Uri = "http://compass/toturial/alias/book";
  18.             public static final String GroupId = "library";
  19.         }
  20.
  21.         public static final class Name {
  22.             public static final String Id = "name";
  23.             public static final String Name = "name";
  24.             public static final String DisplayName = "Name";
  25.             public static final String Uri = "http://compass/toturial/alias/name";
  26.             public static final String GroupId = "library";
  27.         }
  28.
  29.         public static final class Author {
  30.             public static final String Id = "author";
  31.             public static final String Name = "author";
  32.             public static final String DisplayName = "Author";
  33.             public static final String Uri = "http://compass/toturial/alias/author";
  34.             public static final String GroupId = "library";
  35.         }
  36.
  37.     }
  38.
  39.     public static final class MetaData {
  40.
  41.         public static final class Summary {
  42.             public static final String Id = "summary";
  43.             public static final String Name = "summary";
  44.             public static final String DisplayName = "Summary";
  45.             public static final String Uri = "http://compass/toturial/summary";
  46.             public static final String GroupId = "library";
  47.         }
  48.
  49.         public static final class Keyword {
  50.             public static final String Id = "keyword";
  51.             public static final String Name = "keyword";
  52.             public static final String DisplayName = "Keyword";
  53.             public static final String Uri = "http://compass/toturial/keyword";
  54.             public static final String GroupId = "library";
  55.         }
  56.
  57.         public static final class PublishDate {
  58.             public static final String Id = "publishDate";
  59.             public static final String Name = "publish";
  60.             public static final String DisplayName = "Publish Date";
  61.             public static final String Uri = "http://compass/toturial/publishDate";
  62.             public static final String GroupId = "library";
  63.         }
  64.
  65.         public static final class Title {
  66.             public static final String Id = "title";
  67.             public static final String Name = "title";
  68.             public static final String DisplayName = "Title";
  69.             public static final String Uri = "http://compass/toturial/title";
  70.             public static final String GroupId = "library";
  71.         }
  72.
  73.         public static final class Type {
  74.             public static final String Id = "type";
  75.             public static final String Name = "type";
  76.             public static final String DisplayName = "Type";
  77.             public static final String Uri = "http://compass/toturial/type";
  78.             public static final String GroupId = "library";
  79.         }
  80.
  81.         public static final class TitleName {
  82.             public static final String Id = "titleName";
  83.             public static final String Name = "titleName";
  84.             public static final String DisplayName = "Title Name";
  85.             public static final String Uri = "http://compass/toturial/titleName";
  86.             public static final String GroupId = "library";
  87.         }
  88.
  89.         public static final class Isbn {
  90.             public static final String Id = "isbn";
  91.             public static final String Name = "name";
  92.             public static final String DisplayName = "ISBN";
  93.             public static final String Uri = "http://compass/toturial/name";
  94.             public static final String GroupId = "library";
  95.         }
  96.
  97.         public static final class Name {
  98.             public static final String Id = "name";
  99.             public static final String Name = "name";
100.             public static final String DisplayName = "Name";
101.             public static final String Uri = "http://compass/toturial/name";
102.             public static final String GroupId = "library";
103.         }
104.
105.         public static final class Birthdate {
106.             public static final String Id = "birthdate";
107.             public static final String Name = "birthdate";
108.             public static final String DisplayName = "Birthdate";
109.             public static final String Uri = "http://compass/toturial/birthdate";
110.             public static final String GroupId = "library";
111.             public static final String Format = "yyyy/MM/dd";
112.         }
113.
114.         public static final class FirstName {
115.             public static final String Id = "firstName";
116.             public static final String Name = "firstName";
117.             public static final String DisplayName = "First Name";
118.             public static final String Uri = "http://compass/toturial/firstName";
119.             public static final String GroupId = "library";
120.         }
121.
122.         public static final class LastName {
123.             public static final String Id = "lastName";
124.             public static final String Name = "lastName";
125.             public static final String DisplayName = "Last Name";
126.             public static final String Uri = "http://compass/sample/library/lastName";
127.             public static final String GroupId = "library";
128.         }
129.     }
130. }

Author.cpm.xml

   1. <?xml version="1.0"?>
   2. <!DOCTYPE compass-core-mapping PUBLIC
   3.     "-//Compass/Compass Core Mapping DTD 2.0//EN"
   4.     "http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd">
   5.
   6. <compass-core-mapping package="com.tutorial">
   7.
   8.     <class name="Author" alias="${library.author}">
   9.
  10.         <id name="id" />
  11.
  12.         <constant>
  13.             <meta-data>${library.type}</meta-data>
  14.             <meta-data-value>${library.type.mdPerson}</meta-data-value>
  15.             <meta-data-value>${library.type.mdAuthor}</meta-data-value>
  16.         </constant>
  17.
  18.         <property name="keywords">
  19.             <meta-data boost="2">${library.keyword}</meta-data>
  20.         </property>
  21.
  22.         <component name="name" ref-alias="${library.name.md}" />
  23.
  24.         <property name="birthdate">
  25.             <meta-data>${library.birthdate}</meta-data>
  26.         </property>
  27.
  28.         <reference name="books" ref-alias="${library.book}" />
  29.
  30.     </class>
  31.
  32.     <class name="Name" alias="${library.name}" root="false">
  33.             <property name="title">
  34.                 <meta-data>${library.titleName}</meta-data>
  35.             </property>
  36.             <property name="firstName">
  37.                 <meta-data>${library.firstName}</meta-data>
  38.                 <meta-data>${library.name}</meta-data>
  39.             </property>
  40.             <property name="lastName">
  41.                 <meta-data>${library.lastName}</meta-data>
  42.                 <meta-data>${library.name}</meta-data>
  43.             </property>
  44.     </class>
  45.
  46. </compass-core-mapping>

Book.cpm.xml

   1. <?xml version="1.0"?>
   2. <!DOCTYPE compass-core-mapping PUBLIC
   3.     "-//Compass/Compass Core Mapping DTD 2.0//EN"
   4.     "http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd">
   5.
   6. <compass-core-mapping package="com.tutorial">
   7.
   8.     <class name="Book" alias="${library.book}">
   9.    
  10.         <id name="id" />
  11.
  12.         <property name="keywords">
  13.             <meta-data boost="2">${library.keyword}</meta-data>
  14.         </property>
  15.        
  16.         <property name="title">
  17.             <meta-data>${library.title}</meta-data>
  18.         </property>
  19.
  20.         <property name="publishDate">
  21.             <meta-data>${library.publishDate}</meta-data>
  22.         </property>
  23.
  24.         <property name="summary">
  25.             <meta-data>${library.summary}</meta-data>
  26.         </property>
  27.    
  28.     </class>
  29.    
  30. </compass-core-mapping>

library.cmd.xml

   1. <?xml version="1.0"?>
   2. <!DOCTYPE compass-core-meta-data PUBLIC
   3.     "-//Compass/Compass Core Meta Data DTD 2.0//EN"
   4.     "http://www.compass-project.org/dtd/compass-core-meta-data-2.0.dtd">
   5.
   6. <compass-core-meta-data>
   7.
   8.     <meta-data-group id="library" displayName="Library Meta Data">
   9.    
  10.         <description>Library Meta Data</description>      
  11.         <uri>http://compass/toturial</uri>
  12.        
  13.         <alias id="author" displayName="Author">
  14.             <description>Author alias</description>
  15.             <uri>http://compass/toturial/alias/author</uri>
  16.             <name>author</name>
  17.         </alias>
  18.
  19.         <alias id="name" displayName="Name">
  20.             <description>Name alias</description>
  21.             <uri>http://compass/toturial/alias/name</uri>
  22.             <name>name</name>
  23.         </alias>
  24.
  25.         <alias id="book" displayName="Book">
  26.             <description>Book alias</description>
  27.             <uri>http://compass/toturial/alias/book</uri>
  28.             <name>book</name>
  29.         </alias>
  30.
  31.         <meta-data id="type" displayName="Type">
  32.             <description>Type of an entity in the system</description>
  33.             <uri>http://compass/toturial/type</uri>
  34.             <name>type</name>
  35.             <value id="mdPerson">person</value>
  36.             <value id="mdAuthor">author</value>
  37.         </meta-data>
  38.        
  39.         <meta-data id="keyword" displayName="Keyword">
  40.             <description>Keyword associated with an entity</description>
  41.             <uri>http://compass/toturial/keyword</uri>
  42.             <name>keyword</name>
  43.         </meta-data>
  44.
  45.         <meta-data id="name" displayName="Name">
  46.             <description>The name of a person (firstName or lastName) without the title</description>
  47.             <uri>http://compass/toturial/name</uri>
  48.             <name>name</name>
  49.         </meta-data>
  50.
  51.         <meta-data id="firstName" displayName="First Name">
  52.             <description>The first name of a person</description>
  53.             <uri>http://compass/toturial/firstName</uri>
  54.             <name>firstName</name>
  55.         </meta-data>
  56.
  57.         <meta-data id="lastName" displayName="Last Name">
  58.             <description>The last name of a person</description>
  59.             <uri>http://compass/toturial/lastName</uri>
  60.             <name>lastName</name>
  61.         </meta-data>
  62.
  63.         <meta-data id="titleName" displayName="Title Name">
  64.             <description>The title of a person</description>
  65.             <uri>http://compass/toturial/titleName</uri>
  66.             <name>titleName</name>
  67.         </meta-data>
  68.
  69.         <meta-data id="birthdate" displayName="Birthdate">
  70.             <description>The birthdate of a person</description>
  71.             <uri>http://compass/toturial/birthdate</uri>
  72.             <name format="yyyy/MM/dd">birthdate</name>
  73.         </meta-data>
  74.        
  75.         <meta-data id="isbn" displayName="ISBN">
  76.             <description>ISBN of the book</description>
  77.             <uri>http://compass/toturial/name</uri>
  78.             <name>name</name>
  79.         </meta-data>
  80.
  81.         <meta-data id="title" displayName="Title">
  82.             <description>The title of a book or an article</description>
  83.             <uri>http://compass/toturial/title</uri>
  84.             <name>title</name>
  85.         </meta-data>
  86.
  87.         <meta-data id="publishDate" displayName="Publish Date">
  88.             <description>The publish date of a book or an article</description>
  89.             <uri>http://compass/toturial/publishDate</uri>
  90.             <name>publish</name>
  91.         </meta-data>
  92.
  93.         <meta-data id="summary" displayName="Summary">
  94.             <description>The summary of a book or an article</description>
  95.             <uri>http://compass/toturial/summary</uri>
  96.             <name>summary</name>
  97.         </meta-data>
  98.        
  99.     </meta-data-group>
100.    
101. </compass-core-meta-data>

compass.cfg.xml

   1. <!DOCTYPE compass-core-configuration PUBLIC
   2.     "-//Compass/Compass Core Configuration DTD 2.0//EN"
   3.     "http://www.compass-project.org/dtd/compass-core-configuration-2.0.dtd">
   4.
   5. <compass-core-configuration>
   6.
   7.     <compass>
   8.    
   9.         <setting name="compass.engine.connection">target/index</setting>
  10.        
  11.         <meta-data resource="com/tutorial/library.cmd.xml" />
  12.     
  13.     </compass>
  14.
  15. </compass-core-configuration>

测试代码:

LibraryTests.java

   1. package com.demo;
   2.
   3. import java.text.SimpleDateFormat;
   4. import java.util.Calendar;
   5.
   6. import org.compass.core.Compass;
   7. import org.compass.core.CompassCallbackWithoutResult;
   8. import org.compass.core.CompassException;
   9. import org.compass.core.CompassHits;
  10. import org.compass.core.CompassQueryBuilder;
  11. import org.compass.core.CompassSession;
  12. import org.compass.core.CompassTemplate;
  13. import org.compass.core.CompassTransaction;
  14. import org.compass.core.Resource;
  15. import org.compass.core.config.CompassConfiguration;
  16.
  17. import com.tutorial.Author;
  18. import com.tutorial.Book;
  19. import com.tutorial.Identifiable;
  20. import com.tutorial.Library;
  21. import com.tutorial.Name;
  22.
  23. public class LibraryTests {
  24.
  25.     public static void main(String[] args){
  26.        
  27.         CompassConfiguration config = new CompassConfiguration();
  28.         config.configure("/com/tutorial/compass.cfg.xml");
  29.         config.addClass(Author.class).addClass(Book.class);
  30.         Compass compass = config.buildCompass();
  31.         compass.getSearchEngineIndexManager().deleteIndex();
  32.         compass.getSearchEngineIndexManager().createIndex();
  33.        
  34.         try {
  35.             setUpData(compass);
  36.         } catch (Exception e) {
  37.             e.printStackTrace();
  38.         }
  39.        
  40.         CompassSession session = compass.openSession();
  41.         CompassTransaction tx = null;
  42.         try {
  43.             tx = session.beginTransaction();
  44.             Author author = (Author) session.load(Author.class, 1);
  45.            
  46.             SimpleDateFormat sdf = new SimpleDateFormat(Library.MetaData.Birthdate.Format);
  47.             System.out.println(sdf.format(author.getBirthdate()));
  48.             System.out.println(author.getName().getFirstName());
  49.             System.out.println(author.getBooks().size());
  50.            
  51.             //delete it
  52.             //session.delete(author);
  53.            
  54.             tx.commit();
  55.         } catch (Exception e) {
  56.             if (tx != null) {
  57.                 tx.rollback();
  58.             }
  59.         } finally {
  60.             session.close();
  61.         }
  62.        
  63.         CompassTemplate compassTemplate = new CompassTemplate(compass);
  64.         compassTemplate.execute(new CompassCallbackWithoutResult() {
  65.             protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
  66.                 String query = "fiercely";
  67.                 CompassHits hits = session.find(query);
  68.
  69.                 System.out.println("Found [" + hits.getLength() + "] hits for [" + query + "] query");
  70.                 System.out.println("======================================================");
  71.                 for (int i = 0; i < hits.getLength(); i++) {
  72.                     Object value = hits.data(i);
  73.                     Resource resource = hits.resource(i);
  74.                     System.out.println("ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]");
  75.                     System.out.println(":::: " + value);
  76.                     System.out.println("");
  77.                 }
  78.
  79.                 hits.close();
  80.             }
  81.         });
  82.        
  83.         compassTemplate = new CompassTemplate(compass);
  84.         compassTemplate.execute(new CompassCallbackWithoutResult() {
  85.             protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
  86.
  87.                 CompassQueryBuilder queryBuilder = session.queryBuilder();
  88.                 CompassHits hits = queryBuilder.bool().addMust(queryBuilder.term("book.id", 1))
  89.                 //.addMustNot(queryBuilder.term("author.books.id", 1))
  90.                 .toQuery().hits();
  91.                
  92.                 System.out.println("Found [" + hits.getLength() + "] hits for [" +    "Jack"  + "] query");
  93.                 System.out.println("======================================================");
  94.                 for (int i = 0; i < hits.getLength(); i++) {
  95.                     Object value = hits.data(i);
  96.                     Resource resource = hits.resource(i);
  97.                     System.out.println("ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]");
  98.                     System.out.println(":::: " + value);
  99.                     System.out.println("");
100.                 }
101.
102.                 hits.close();
103.             }
104.         });
105.        
106.     }
107.    
108.     public static void setUpData(Compass compass) throws Exception {
109.        
110.         CompassSession session = compass.openSession();
111.         CompassTransaction tx = session.beginTransaction();
112.        
113.         Author jackLondon = new Author();
114.         jackLondon.setId(new Long(1));
115.         jackLondon.setName(new Name("Mr", "Jack", "London"));
116.         Calendar c = Calendar.getInstance();
117.         c.set(1876, 0, 12);
118.         jackLondon.setBirthdate(c.getTime());
119.         jackLondon.setKeywords(new String[] { "american author" });
120.
121.         Book whiteFang = new Book();
122.         whiteFang.setId(new Long(1));
123.         whiteFang.setTitle("White Fang");
124.         c.set(1906, 0, 1);
125.         whiteFang.setPublishDate(c.getTime());
126.         whiteFang.setSummary("The remarkable story of a fiercely independent creature of the wild");
127.         whiteFang.setKeywords(new String[] { "jack london", "call of the wild" });
128.         jackLondon.addBook(whiteFang);
129.         session.save(whiteFang);
130.
131.         Book callOfTheWild = new Book();
132.         callOfTheWild.setId(new Long(2));
133.         callOfTheWild.setTitle("The Call of the Wild");
134.         c.set(1903, 0, 1);
135.         callOfTheWild.setPublishDate(c.getTime());
136.         callOfTheWild.setSummary("The Call of the Wild is a tale about unbreakable spirit");
137.         callOfTheWild.setKeywords(new String[] { "jack london", "buck", "white fang" });
138.         jackLondon.addBook(callOfTheWild);
139.         session.save(callOfTheWild);
140.
141.         session.save(jackLondon);
142.        
143.         Author jamesClavell = new Author();
144.         jamesClavell.setId(new Long(2));
145.         jamesClavell.setName(new Name("Mr", "James", "Clavell"));
146.         c.set(1924, 9, 10);
147.         jamesClavell.setBirthdate(c.getTime());
148.         jamesClavell.setKeywords(new String[] { "far east", "shogun", "japan", "hong kong" });
149.
150.         Book shogun = new Book();
151.         shogun.setId(new Long(3));
152.         shogun.setTitle("Shogun");
153.         c.set(1975, 0, 1);
154.         shogun.setPublishDate(c.getTime());
155.         shogun.setSummary("A story of a hero who is not a person but a place and a time,"
156.                 + " medieval Japan on the threshold of becoming a sea power");
157.         shogun.setKeywords(new String[] { "james clavell", "Blackthorne", "Toranaga", "japan" });
158.         jamesClavell.addBook(shogun);
159.         session.save(shogun);
160.
161.         Book taipan = new Book();
162.         taipan.setId(new Long(4));
163.         taipan.setTitle("Taipan");
164.         c.set(1966, 0, 1);
165.         taipan.setPublishDate(c.getTime());
166.         taipan.setSummary("Tai-Pan is chinese for \"supreme leader\". This is the man with real power "
167.                 + "to his hands. And such a Tai-Pan is Dirk Struan who is obsessed by his plan to make Hong Kong "
168.                 + "the \"jewel in the crown of her British Majesty\". In 1841 he achieves his goal but he has many "
169.                 + "enemies who try to destroy his plans. Will they succeed?");
170.         taipan.setKeywords(new String[] { "james clavell", "Dirk Struan", "joss", "hong kong" });
171.         jamesClavell.addBook(taipan);
172.
173.         session.save(taipan);
174.
175.         session.save(jamesClavell);
176.        
177.         tx.commit();
178.         session.close();
179.     }
180. }
分享到:
评论

相关推荐

    mongodb-compass 1.16版本

    总的来说,MongoDB Compass 1.16版本是一个强大的数据库管理和开发工具,通过可视化方式提高了MongoDB的可操作性和易用性,简化了日常的数据库管理任务,同时也增强了数据分析和性能监控能力。无论是初学者还是经验...

    compass2简单例子

    标题 "compass2简单例子" 指向的是一个关于 Compass 的使用教程,Compass 是一个基于 Sass 的 CSS 预处理器。它简化了编写复杂的 CSS3 规则,并提供了易于管理的项目结构。这个简单的例子可能包括如何设置 Compass、...

    mongodb安装包和compass

    Compass是MongoDB的官方图形界面工具,它提供了一个用户友好的界面,用于可视化数据库和集合,帮助开发者和管理员进行数据探索、查询构建、性能分析以及基本的数据库管理。通过Compass,用户可以轻松地浏览和操作...

    compass2.1.4包+所用lucene包+中文分词器

    在“compass2.1.4包”中,包含了 Compass 框架的版本 2.1.4,这个版本可能包含了性能优化、新功能以及对旧版的兼容性改进。 Lucene 是 Apache 软件基金会的一个开源项目,它是一个高性能、全文本搜索库。Lucene ...

    GPS_COMPASS组合变形测量性能分析.pdf

    《GPS/COMPASS组合变形测量性能分析》这篇论文深入探讨了GPS和COMPASS组合在变形测量中的应用,特别是在城市、露天矿区和峡谷等复杂地形条件下的应用效果。 文章首先指出了GPS定位系统性能的局限性。在开阔地区,...

    compass完整可用项目

    【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...

    mongodb-compass-1.17.0-win32-x64 MongoDB可视化工具Compass

    本压缩包文件"mongodb-compass-1.17.0-win32-x64"包含了适用于Windows 32位和64位系统的MongoDB Compass 1.17.0版本。 MongoDB是一种流行的开源、文档型的分布式数据库系统,广泛应用于大数据存储、实时分析、...

    mongodb compass1.15.1官网版 免安装直接使用

    MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以直接运行,这在许多情况下非常便捷,特别是对于那些希望快速试用或在不同环境中使用的用户。 MongoDB是一款开源的文档型数据库,它是NoSQL数据库的...

    compass搜索引擎技术

    Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...

    Compass_入门指南

    Compass 入门指南 Compass 是一个搜索引擎框架,旨在提供高效、可扩展的搜索解决方案。以下是 Compass 入门指南,涵盖了 Compass 的核心概念、配置文件、注解方式、核心 API、与 Spring 集成等方面。 Compass 的...

    java搜索 compass资料

    在下载过程中,建议检查网站上的最新版本信息,以确保使用的Compass版本是最新的或至少是官方推荐的稳定版本。 #### 三、Compass 使用示例 在题目中提供的部分Java代码中,展示了一个名为`ProductInfo`的实体类,...

    Compass全文检索系列之一:Compass入门

    1. **安装与依赖**:将Compass库添加到项目中,根据所使用的ORM框架选择相应的版本。 2. **配置ORM集成**:配置Compass与ORM框架的连接,指定数据源和索引存储位置。 3. **定义映射**:为每个需要索引的实体类定义...

    mongodb-compass-1.25.0-win32-x64_2.zip

    本压缩包"mongodb-compass-1.25.0-win32-x64_2.zip"包含的是适用于Windows 32位和64位系统的MongoDB Compass 1.25.0版本。以下是关于MongoDB Compass和其在MongoDB生态系统中的作用的详细说明: 1. **MongoDB ...

    compass关联查询练习

    这个是compass整合ssh的例子,最重要的一点是一对多的关联这方面,寡人整了一天才把compass关联搞定,网上有关compass的资源太少了,不想让以后的人这么为难,咱就上传个我自己的练习吧,有较为详细的注释,希望能对...

    compass教程.pdf

    COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...

    MongoDB compass 1.12.4

    MongoDB compass 1.12.4 下载 MongoDB 图形界面管理工具

    mongodb compass 1.16.4 x64

    最新mangodb compass

    Compass_Setup_2010-06-25_16-11.rar

    本文将围绕“Compass”这一软件工具,深入探讨其在GPS数据处理中的应用及其重要性,同时解析2010年6月25日16时11分版本的Compass_Setup安装包中的核心内容。 Compass是一款专业的GPS数据处理软件,专为用户提供高效...

    compass_使用详解.pdf compass_教程 compass_试用案例

    ### Compass 使用详解 #### 一、Compass 概述 Compass 是一款开源的 Java 库,用于简化 Lucene 的使用。它通过提供类似于 Hibernate 的对象关系映射(ORM)功能,使得开发者能够更加轻松地将 Java 对象映射到 ...

    mongodb compass 图形化管理工具安装包

    mongodb compass 1.13.0版本的安装包,客官根据需求选择下载

Global site tag (gtag.js) - Google Analytics