It also defines an EntityManager API for processing queries and transactions on the Java objects against the database.

				
					
    
        org.hibernate.ejb.HibernatePersistence 
        java:/comp/env/exo-jpa_portal 
        
             
         
     
  
				
			
				
					exo.jpa.hibernate.show_sql=true 
				
			
				
					@Entity(name = "TaskTask")
@ExoEntity
public class Task {
    @Id
    @SequenceGenerator(name="SEQ_TASK_TASKS_TASK_ID", sequenceName="SEQ_TASK_TASKS_TASK_ID")
    @GeneratedValue(strategy=GenerationType.AUTO, generator="SEQ_TASK_TASKS_TASK_ID")
    @Column(name = "TASK_ID")
    private long    	id;
    private String  	title;
    private String  	description;
    ...
} 
				
			
				
					@ExoTransactional
public Task createTask(Task task) {
    ...
} 
				
			
				
					
    addons-parent-pom 
    org.exoplatform.addons 
    6 
  
				
			
				
					
    
      
        com.jcabi 
        jcabi-maven-plugin 
       
     
  
				
			
				
					
  
    
      com.jcabi 
      jcabi-maven-plugin 
      ${version.jcabi.plugin} 
      
        
          weave-classes 
          process-classes 
          
            ajc 
           
          
            ${project.build.outputDirectory} 
           
         
        
          weave-test-classes 
          process-test-classes 
          
            ajc 
           
          
            ${project.build.testOutputDirectory} 
           
         
       
     
   
  
				
			
				
					public class TaskDAOImpl extends GenericDAOJPAImpl {
    …
}  
				
			Liquibase relies on changelog files to init and update the database. These files define a bunch of change sets. Each change set defines an operation on the database (table creation, constraint creation, index creation, SQL query execution, …). These operations can range from creating tables and constraints to executing SQL commands and adding indexes. As an example, here is an extract of the change logs of the eXo Task application:
				
					
 
 
    
        
             
         
        
             
         
        
             
         
        
             
         
        
             
         
        
             
         
        
             
         
     
    
         
     
 
     
 
...
    
         
     
 
...
     
 Each change set defines an operation on the database (table creation, constraint creation, index creation, SQL query execution, …). As an example, here is an extract of the change logs of the eXo Task application:  
				
			
				
					
    org.exoplatform.commons.api.persistence.DataInitializer 
    
        TaskManagementChangeLogsPlugin 
        addChangeLogsPlugin 
        org.exoplatform.commons.persistence.impl.ChangeLogsPlugin 
        
            
                changelogs 
                Change logs of task management 
                db/changelog/task.db.changelog-1.0.0.xml 
                db/changelog/task.db.changelog-1.1.0.xml 
             
         
     
  
				
			( Your e-mail address will not be published)