Commit 9bde7ede authored by Bruna Chiochetta's avatar Bruna Chiochetta
Browse files

Merge branch 'feat/2/create-entities' into 'develop'

Feat(US-02): Create Experience entities

See merge request o-turismo-rural-em-s-o-francisco-de-paula/turismo-rural-backend!4
Showing with 96 additions and 44 deletions
+96 -44
package pucrs.ages.turismorural.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import pucrs.ages.turismorural.service.EventService;
@RestController
@RequestMapping("/event")
public class EventController {
@Autowired
private EventService service;
}
package pucrs.ages.turismorural.model;
import jakarta.persistence.*;
@Entity
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String street;
private Integer number;
private String neighborhood;
private String city;
private String state;
private Integer cep;
private String complement;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "address")
private Experience experience;
}
package pucrs.ages.turismorural.model;
import jakarta.persistence.*;
import java.util.Set;
@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer categoryId;
private String name;
@ManyToMany(mappedBy = "categories")
private Set<Tag> tags;
}
......@@ -2,12 +2,17 @@ package pucrs.ages.turismorural.model;
import jakarta.persistence.*;
@MappedSuperclass
import java.util.Set;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Experience {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private Integer experienceId;
private String cnpj;
private String name;
......@@ -17,4 +22,20 @@ public abstract class Experience {
private String description;
}
private String image;
private String socialNetworks;
@OneToOne(cascade = CascadeType.ALL)
private Address address;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "experience_tag",
joinColumns = @JoinColumn(name = "experience_id"),
inverseJoinColumns = @JoinColumn(name = "tag_id"))
private Set<Tag> tags;
@ManyToOne(cascade = CascadeType.ALL)
private Category category;
}
\ No newline at end of file
......@@ -3,7 +3,6 @@ package pucrs.ages.turismorural.model;
import jakarta.persistence.Entity;
@Entity
public class Event extends Experience {
private String details;
}
public class Spot extends Experience {
private String openingHours;
}
\ No newline at end of file
package pucrs.ages.turismorural.model;
import jakarta.persistence.*;
import java.util.Set;
@Entity
public class Tag {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer tagId;
private String name;
@ManyToMany(mappedBy = "tags")
private Set<Experience> experiences;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "tag_category",
joinColumns = @JoinColumn(name = "tag_id"),
inverseJoinColumns = @JoinColumn(name = "category_id"))
private Set<Category> categories;
}
package pucrs.ages.turismorural.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import pucrs.ages.turismorural.model.Event;
@Repository
public interface EventRepository extends JpaRepository<Event, Integer> {
}
package pucrs.ages.turismorural.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pucrs.ages.turismorural.repository.EventRepository;
@Service
public class EventService {
@Autowired
private EventRepository repository;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment