Advertisement
Guest User

Untitled

a guest
Aug 24th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.98 KB | None | 0 0
  1. CREATE TABLE `NOTICIA` (
  2. `cdNoticia` bigint(20) NOT NULL AUTO_INCREMENT,
  3. `cdVeiculo` bigint(20) NOT NULL,
  4. `nmAutor` varchar(255) DEFAULT NULL,
  5. `cdColunista` smallint(5) DEFAULT NULL,
  6. `cdSecao` smallint(5) unsigned NOT NULL,
  7. `dsTitulo` varchar(255) DEFAULT NULL,
  8. `dsTexto` longtext,
  9. `dsURL` char(255) NOT NULL COMMENT 'URL da notícia',
  10. `cdHash` char(32) DEFAULT NULL,
  11. `dtNoticia` date NOT NULL COMMENT 'Data da notícia',
  12. `hrNoticia` time NOT NULL COMMENT 'Hora da notícia',
  13. `dhCadastro` datetime DEFAULT NULL,
  14. `idTipo` enum('0','1','2') NOT NULL COMMENT 'Tipo: 0 = Notícia, 1 = Coluna, 2 = Blog;',
  15. `idDigitalizada` enum('0','1') NOT NULL DEFAULT '0',
  16. PRIMARY KEY (`cdNoticia`) USING BTREE,
  17. UNIQUE KEY `icdHash` (`cdVeiculo`,`cdSecao`,`cdHash`),
  18. KEY `iidTipo` (`idTipo`),
  19. KEY `idhCadastro` (`dhCadastro`),
  20. KEY `icdVeiculo` (`cdVeiculo`),
  21. KEY `icdColunista` (`cdColunista`),
  22. KEY `inmAutor` (`nmAutor`),
  23. KEY `idsURL` (`dsURL`),
  24. KEY `idsTitulo` (`dsTitulo`),
  25. KEY `idtNoticia` (`dtNoticia`),
  26. KEY `ihrNoticia` (`hrNoticia`)
  27. ) ENGINE=InnoDB AUTO_INCREMENT=3215226820 DEFAULT CHARSET=latin1 PACK_KEYS=0;
  28.  
  29. CREATE TABLE `NOTICIAIMAGEM` (
  30. `cdNoticia` bigint(20) NOT NULL,
  31. `nmImagem` varchar(255) NOT NULL,
  32. `nmExtensao` varchar(10) DEFAULT NULL,
  33. `nrTamanho` float DEFAULT NULL,
  34. `nrAltura` smallint(5) unsigned DEFAULT NULL,
  35. `nrLargura` smallint(5) unsigned DEFAULT NULL,
  36. `nrOrdem` tinyint(3) unsigned DEFAULT NULL,
  37. `cdTipoNoticiaImagem` mediumint(8) unsigned DEFAULT NULL,
  38. KEY `fk_NOTICIAIMAGEM_TIPONOTICIAIMAGEM_idx` (`cdTipoNoticiaImagem`),
  39. KEY `idx_cdNoticia` (`cdNoticia`),
  40. CONSTRAINT `fk_NOTICIAIMAGEM_TIPONOTICIAIMAGEM` FOREIGN KEY (`cdTipoNoticiaImagem`) REFERENCES `TIPONOTICIAIMAGEM` (`cdTipoNoticiaImagem`) ON DELETE NO ACTION ON UPDATE NO ACTION
  41. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  42.  
  43. <?xml version="1.0" encoding="UTF-8"?>
  44. <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  45. <persistence-unit name="Transicao" transaction-type="RESOURCE_LOCAL">
  46. <provider>org.hibernate.ejb.HibernatePersistence</provider>
  47. <properties>
  48. <property name="javax.persistence.jdbc.url" value="jdbc:mysql://ip/schema?useTimezone=true&serverTimezone=GMT-3&useSSL=false"/>
  49. <property name="javax.persistence.jdbc.user" value="user"/>
  50. <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
  51. <property name="javax.persistence.jdbc.password" value="password"/>
  52. <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
  53. <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
  54. </properties>
  55. </persistence-unit>
  56. <persistence-unit name="Producao" transaction-type="RESOURCE_LOCAL">
  57. <provider>org.hibernate.ejb.HibernatePersistence</provider>
  58. <properties>
  59. <property name="javax.persistence.jdbc.url" value="jdbc:mysql://ip:3306/schema?useTimezone=true&serverTimezone=GMT-3&useSSL=false"/>
  60. <property name="javax.persistence.jdbc.user" value="user"/>
  61. <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
  62. <property name="javax.persistence.jdbc.password" value="password"/>
  63. <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
  64. <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
  65. </properties>
  66. </persistence-unit>
  67. </persistence>
  68.  
  69. @Entity
  70. @Table(name = "NOTICIA")
  71. @NamedQueries({
  72. @NamedQuery(name = "Noticia.findAll", query = "SELECT n FROM Noticia n"),
  73. @NamedQuery(name = "Noticia.findAllByDate", query = "SELECT n FROM Noticia n WHERE n.dhCadastro BETWEEN :startDate AND :endDate")
  74. })
  75. public class Noticia implements Serializable {
  76.  
  77. private static final long serialVersionUID = 1L;
  78. @Id
  79. //@GeneratedValue(strategy = GenerationType.IDENTITY)
  80. @Basic(optional = false)
  81. @Column(name = "cdNoticia")
  82. private Long cdNoticia;
  83.  
  84. @Basic(optional = false)
  85. @Column(name = "cdVeiculo")
  86. private long cdVeiculo;
  87. @Column(name = "nmAutor")
  88. private String nmAutor;
  89. @Column(name = "cdColunista")
  90. private Short cdColunista;
  91. @Basic(optional = false)
  92. @Column(name = "cdSecao")
  93. private short cdSecao;
  94. @Column(name = "dsTitulo")
  95. private String dsTitulo;
  96. @Lob
  97. @Column(name = "dsTexto")
  98. private String dsTexto;
  99. @Basic(optional = false)
  100. @Column(name = "dsURL")
  101. private String dsURL;
  102. @Column(name = "cdHash")
  103. private String cdHash;
  104. @Basic(optional = false)
  105. @Column(name = "dtNoticia")
  106. @Temporal(TemporalType.DATE)
  107. private Date dtNoticia;
  108. @Basic(optional = false)
  109. @Column(name = "hrNoticia")
  110. @Temporal(TemporalType.TIME)
  111. private Date hrNoticia;
  112. @Column(name = "dhCadastro")
  113. @Temporal(TemporalType.TIMESTAMP)
  114. private Date dhCadastro;
  115. @Basic(optional = false)
  116. @Column(name = "idTipo")
  117. private String idTipo;
  118. @Basic(optional = false)
  119. @Column(name = "idDigitalizada")
  120. private String idDigitalizada;
  121.  
  122. @Column(name = "isTransicao")
  123. private Integer isTransicao;
  124.  
  125. @Column(name = "isElasticSearch")
  126. private Integer isElasticSearch;
  127.  
  128. @OneToMany(cascade = CascadeType.ALL, mappedBy = "noticia", orphanRemoval = true)
  129. private List<Noticiaimagem> noticiaimagemCollection = new ArrayList<Noticiaimagem>();
  130.  
  131.  
  132.  
  133. public Noticia() {
  134. }
  135.  
  136. public Long getCdNoticia() {
  137. return cdNoticia;
  138. }
  139.  
  140. public void setCdNoticia(Long cdNoticia) {
  141. this.cdNoticia = cdNoticia;
  142. }
  143.  
  144. public long getCdVeiculo() {
  145. return cdVeiculo;
  146. }
  147.  
  148. public void setCdVeiculo(long cdVeiculo) {
  149. this.cdVeiculo = cdVeiculo;
  150. }
  151.  
  152. public String getNmAutor() {
  153. return nmAutor;
  154. }
  155.  
  156. public void setNmAutor(String nmAutor) {
  157. this.nmAutor = nmAutor;
  158. }
  159.  
  160. public Short getCdColunista() {
  161. return cdColunista;
  162. }
  163.  
  164. public void setCdColunista(Short cdColunista) {
  165. this.cdColunista = cdColunista;
  166. }
  167.  
  168. public short getCdSecao() {
  169. return cdSecao;
  170. }
  171.  
  172. public void setCdSecao(short cdSecao) {
  173. this.cdSecao = cdSecao;
  174. }
  175.  
  176. public String getDsTitulo() {
  177. return dsTitulo;
  178. }
  179.  
  180. public void setDsTitulo(String dsTitulo) {
  181. this.dsTitulo = dsTitulo;
  182. }
  183.  
  184. public String getDsTexto() {
  185. return dsTexto;
  186. }
  187.  
  188. public void setDsTexto(String dsTexto) {
  189. this.dsTexto = dsTexto;
  190. }
  191.  
  192. public String getDsURL() {
  193. return dsURL;
  194. }
  195.  
  196. public void setDsURL(String dsURL) {
  197. this.dsURL = dsURL;
  198. }
  199.  
  200. public String getCdHash() {
  201. return cdHash;
  202. }
  203.  
  204. public void setCdHash(String cdHash) {
  205. this.cdHash = cdHash;
  206. }
  207.  
  208. public Date getDtNoticia() {
  209. return dtNoticia;
  210. }
  211.  
  212. public void setDtNoticia(Date dtNoticia) {
  213. this.dtNoticia = dtNoticia;
  214. }
  215.  
  216. public Date getHrNoticia() {
  217. return hrNoticia;
  218. }
  219.  
  220. public void setHrNoticia(Date hrNoticia) {
  221. this.hrNoticia = hrNoticia;
  222. }
  223.  
  224. public Date getDhCadastro() {
  225. return dhCadastro;
  226. }
  227.  
  228. public void setDhCadastro(Date dhCadastro) {
  229. this.dhCadastro = dhCadastro;
  230. }
  231.  
  232. public String getIdTipo() {
  233. return idTipo;
  234. }
  235.  
  236. public void setIdTipo(String idTipo) {
  237. this.idTipo = idTipo;
  238. }
  239.  
  240. public String getIdDigitalizada() {
  241. return idDigitalizada;
  242. }
  243.  
  244. public void setIdDigitalizada(String idDigitalizada) {
  245. this.idDigitalizada = idDigitalizada;
  246. }
  247.  
  248. public Integer getIsTransicao() {
  249. return isTransicao;
  250. }
  251.  
  252. public void setIsTransicao(Integer isTransicao) {
  253. this.isTransicao = isTransicao;
  254. }
  255.  
  256. public Integer getIsElasticSearch() {
  257. return isElasticSearch;
  258. }
  259.  
  260. public void setIsElasticSearch(Integer isElasticSearch) {
  261. this.isElasticSearch = isElasticSearch;
  262. }
  263.  
  264. public List<Noticiaimagem> getNoticiaimagemCollection() {
  265. return noticiaimagemCollection;
  266. }
  267.  
  268. public void setNoticiaimagemCollection(List<Noticiaimagem> noticiaimagemCollection) {
  269. this.noticiaimagemCollection = noticiaimagemCollection;
  270. }
  271. }
  272.  
  273. @Entity
  274. @Table(name = "NOTICIAIMAGEM")
  275. public class Noticiaimagem implements Serializable {
  276.  
  277. private static final long serialVersionUID = 1L;
  278.  
  279. @Id
  280. @ManyToOne
  281. @JoinColumn(name = "cdNoticia", nullable = false)
  282. @MapsId
  283. private Noticia noticia;
  284.  
  285. @Column
  286. private String nmImagem;
  287.  
  288. @Column(nullable = false)
  289. private String nmExtensao;
  290.  
  291. @Column
  292. private Float nrTamanho;
  293. @Column(columnDefinition = "UNSIGNED SMALLINT(5)")
  294. private Integer nrAltura;
  295. @Column(columnDefinition = "UNSIGNED SMALLINT(5)")
  296. private Integer nrLargura;
  297. @Column(columnDefinition = "UNSIGNED TINYINT(3)")
  298. private Integer nrOrdem;
  299. @Column(columnDefinition = "UNSIGNED MEDIUMINT(8)")
  300. private Integer cdTipoNoticiaImagem;
  301.  
  302. public Noticiaimagem() {
  303. }
  304.  
  305. public Noticia getNoticia() {
  306. return noticia;
  307. }
  308.  
  309. public void setNoticia(Noticia noticia) {
  310. this.noticia = noticia;
  311. }
  312.  
  313. public String getNmImagem() {
  314. return nmImagem;
  315. }
  316.  
  317. public void setNmImagem(String nmImagem) {
  318. this.nmImagem = nmImagem;
  319. }
  320.  
  321. public String getNmExtensao() {
  322. return nmExtensao;
  323. }
  324.  
  325. public void setNmExtensao(String nmExtensao) {
  326. this.nmExtensao = nmExtensao;
  327. }
  328.  
  329. public Float getNrTamanho() {
  330. return nrTamanho;
  331. }
  332.  
  333. public void setNrTamanho(Float nrTamanho) {
  334. this.nrTamanho = nrTamanho;
  335. }
  336.  
  337. public Integer getNrAltura() {
  338. return nrAltura;
  339. }
  340.  
  341. public void setNrAltura(Integer nrAltura) {
  342. this.nrAltura = nrAltura;
  343. }
  344.  
  345. public Integer getNrLargura() {
  346. return nrLargura;
  347. }
  348.  
  349. public void setNrLargura(Integer nrLargura) {
  350. this.nrLargura = nrLargura;
  351. }
  352.  
  353. public Integer getNrOrdem() {
  354. return nrOrdem;
  355. }
  356.  
  357. public void setNrOrdem(Integer nrOrdem) {
  358. this.nrOrdem = nrOrdem;
  359. }
  360.  
  361. public Integer getCdTipoNoticiaImagem() {
  362. return cdTipoNoticiaImagem;
  363. }
  364.  
  365. public void setCdTipoNoticiaImagem(Integer cdTipoNoticiaImagem) {
  366. this.cdTipoNoticiaImagem = cdTipoNoticiaImagem;
  367. }
  368. }
  369.  
  370. public static List<Noticia> getNoticias() throws Exception {
  371. List<Noticia> noticia = null;
  372. DateTimeFormatter format = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
  373. DateTime startDate = format.parseDateTime(Job.config.getTransferencia().getStartDate());
  374. DateTime endDate = format.parseDateTime(Job.config.getTransferencia().getEndDate());
  375. noticia = managerTransicao.createNamedQuery("Noticia.findAllByDate", Noticia.class)
  376. .setParameter("startDate", startDate.toDate())
  377. .setParameter("endDate", endDate.toDate())
  378. .setFirstResult((page - 1) * Job.config.getTransferencia().getLimitNoticia())
  379. .setMaxResults(Job.config.getTransferencia().getLimitNoticia())
  380. .getResultList();
  381. return noticia;
  382. }
  383.  
  384. private static void inserirNoticia(List<Noticia> noticias) {
  385. for (Iterator<Noticia> it = noticias.iterator(); it.hasNext();) {
  386. Noticia noticia = it.next();
  387.  
  388. try {
  389. managerProducao.getTransaction().begin();
  390. managerProducao.merge(noticia);
  391. managerProducao.flush();
  392. managerProducao.clear();
  393. managerProducao.getTransaction().commit();
  394. } catch (Exception e) {
  395. managerProducao.getTransaction().rollback();
  396. e.printStackTrace();
  397. log.error("Problemas para inserir a Noticia e suas dependencias. cdNoticia: " + noticia.getCdNoticia() + " Error:" + e.toString());
  398. continue;
  399. }
  400. managerProducao.clear();
  401. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement